package com.xbongbong.saas.domain.dao;

import com.xbongbong.saas.domain.entity.WorkPlanEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author feng.zheng
 * @version v1.0
 * @date 2019/2/12 20:04
 * @since v1.0
 */

public interface WorkPlanDao {
    Integer insert(WorkPlanEntity workPlan);

    Integer update(WorkPlanEntity workPlan);

    Integer deleteByKey(@Param("key") Integer key, @Param("corpid") String corpid);

    WorkPlanEntity getByKey(@Param("key") Integer key, @Param("corpid") String corpid);

    List<WorkPlanEntity> findEntitys(@Param("param") Map<String, Object> param);

    Integer getEntitysCount(@Param("param") Map<String, Object> param);

    /**
     * 批量更新
     *
     * @param status
     * @param corpid
     * @param userId
     * @param planIdIn
     * @return kaka
     * 2016年12月15日 下午8:06:43
     */
    Integer batchUpdateStatus(@Param("status") Integer status, @Param("corpid") String corpid, @Param("userId") String userId, @Param("planIdIn") List<Long> planIdIn);

    /**
     * 批量删除
     *
     * @param corpid
     * @param userId
     * @param planIdIn
     * @author long.rao
     * @date 2019-02-18 19:58
     */
    Integer batchDeleteBykey(@Param("corpid") String corpid,  @Param("userId") String userId, @Param("planIdIn") List<Long> planIdIn);

    /**
     * 编辑content
     *
     * @param corpid
     * @param planId
     * @param content
     * @return kaka
     * 2016年12月15日 下午9:38:37
     */
    Integer updateContent(@Param("corpid") String corpid, @Param("planId") Long planId, @Param("content") String content);

    /**
     * 批量删除
     * @author 吴峰
     * @date 2019/3/25 15:44
     * @param reportIdIn 报告id
     * @param corpid 公司id
     * @return java.lang.Integer
     */
    Integer deleteByReportIdIn(@Param("list") List<Long> reportIdIn, @Param("corpid") String corpid);

}
